package com.thinkgem.jeesite.modules.reader.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.collect.Lists;
import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;
import com.thinkgem.jeesite.modules.sys.entity.Office;
import com.thinkgem.jeesite.modules.sys.entity.Role;

import java.util.Date;
import java.util.List;

/**
 * 读者Entity
 * Created by liu_pc on 2015-10-29.
 */
public class Reader extends DataEntity<Reader>{

    private String rdId; //读者编号（用于扫描码，设置规则需要）

    private String rdName;//读者姓名

    private String rdSex;//性别

    private Date rdBirth;//生日

    private Date rdReg;//注册日期

    private Date rdOver;//有效期

    private String rdState;//读者状态(0:正常1：停用2：挂失）

    private String rdRoleId;//读者角色

    private String rdPwd;//密码

    private String rdPhotosPath;//图片路径(是否头像设置？）

    private String rdPy;//读者姓名首字母

    private String rdCorp;//工作单位(学校)

    private String rdDpt;//读者部门(系别)

    private String rdGrad;//读者科室(年纪)

    private String rdOcc;//读者职务(专业)

    private String rdAdr;//联系地址

    private String rdPst;//邮编

    private String rdTele;//手机号

    private String rdIdk;//身份证

    private String rdEml;//邮箱

    private String reMarks;//备注

    private String rdPc;//导入批次(添加导入系统时间即可）

    private String aliasName;//曾用名？该字段暂时不需要使用

    private String rdCardno;//图书证号

    private Office office;    // 归属部门

    private List<Role> roleList = Lists.newArrayList(); // 拥有角色列表

    private ReaderRoler roler;

    private String rdIccardno;//一卡通卡号
    // 身份证照片
    private String rdIdkimgdata;

    @ExcelField(title = "读者编号", align = 2, sort = 10)
    public String getRdId(){
        return rdId;
    }

    public void setRdId(String rdId){
        this.rdId = rdId;
    }

    @ExcelField(title = "读者姓名", align = 2, sort = 20)
    public String getRdName(){
        return rdName;
    }

    public void setRdName(String rdName){
        this.rdName = rdName;
    }

    @ExcelField(title = "性别(1表示男，2表示女)", align = 2, sort = 30)
    public String getRdSex(){
        return rdSex;
    }

    public void setRdSex(String rdSex){
        this.rdSex = rdSex;
    }

    @ExcelField(title = "生日", align = 2, sort = 40)
    public Date getRdBirth(){
        return rdBirth;
    }

    public void setRdBirth(Date rdBirth){
        this.rdBirth = rdBirth;
    }

    @ExcelField(title = "注册日期", align = 2, sort = 50)
    public Date getRdReg(){
        return rdReg;
    }

    public void setRdReg(Date rdReg){
        this.rdReg = rdReg;
    }

    @ExcelField(title = "有效期", align = 2, sort = 60)
    public Date getRdOver(){
        return rdOver;
    }

    public void setRdOver(Date rdOver){
        this.rdOver = rdOver;
    }

    @ExcelField(title = "读者状态（0:正常1：停用2：挂失）", align = 2, sort = 70)
    public String getRdState(){
        return rdState;
    }

    public void setRdState(String rdState){
        this.rdState = rdState;
    }

    @ExcelField(title = "读者角色", align = 2, sort = 80)
    public String getRdRoleId(){
        return rdRoleId;
    }

    public void setRdRoleId(String rdRoleId){
        this.rdRoleId = rdRoleId;
    }

    public String getRdPwd(){
        return rdPwd;
    }

    public void setRdPwd(String rdPwd){
        this.rdPwd = rdPwd;
    }

    @ExcelField(title = "图片路径", align = 2, sort = 90)
    public String getRdPhotosPath(){
        return rdPhotosPath;
    }

    public void setRdPhotosPath(String rdPhotosPath){
        this.rdPhotosPath = rdPhotosPath;
    }

    @ExcelField(title = "读者姓名首字母", align = 2, sort = 100)
    public String getRdPy(){
        return rdPy;
    }

    public void setRdPy(String rdPy){
        this.rdPy = rdPy;
    }

    @ExcelField(title = "工作单位", align = 2, sort = 110)
    public String getRdCorp(){
        return rdCorp;
    }

    public void setRdCorp(String rdCorp){
        this.rdCorp = rdCorp;
    }

    @ExcelField(title = "读者部门", align = 2, sort = 120)
    public String getRdDpt(){
        return rdDpt;
    }

    public void setRdDpt(String rdDpt){
        this.rdDpt = rdDpt;
    }

    @ExcelField(title = "读者科室", align = 2, sort = 130)
    public String getRdGrad(){
        return rdGrad;
    }

    public void setRdGrad(String rdGrad){
        this.rdGrad = rdGrad;
    }

    @ExcelField(title = "读者职务", align = 2, sort = 140)
    public String getRdOcc(){
        return rdOcc;
    }

    public void setRdOcc(String rdOcc){
        this.rdOcc = rdOcc;
    }

    @ExcelField(title = "联系地址", align = 2, sort = 150)
    public String getRdAdr(){
        return rdAdr;
    }

    public void setRdAdr(String rdAdr){
        this.rdAdr = rdAdr;
    }

    @ExcelField(title = "邮编", align = 2, sort = 160)
    public String getRdPst(){
        return rdPst;
    }

    public void setRdPst(String rdPst){
        this.rdPst = rdPst;
    }


    @ExcelField(title = "手机号", align = 2, sort = 170)
    public String getRdTele(){
        return rdTele;
    }

    public void setRdTele(String rdTele){
        this.rdTele = rdTele;
    }

    @ExcelField(title = "身份证", align = 2, sort = 180)
    public String getRdIdk(){
        return rdIdk;
    }

    public void setRdIdk(String rdIdk){
        this.rdIdk = rdIdk;
    }

    @ExcelField(title = "邮箱", align = 2, sort = 190)
    public String getRdEml(){
        return rdEml;
    }

    public void setRdEml(String rdEml){
        this.rdEml = rdEml;
    }

    @ExcelField(title = "备注", align = 2, sort = 200)
    public String getReMarks(){
        return reMarks;
    }

    public void setReMarks(String reMarks){
        this.reMarks = reMarks;
    }

    @ExcelField(title = "导入批次", align = 2, sort = 210)
    public String getRdPc(){
        return rdPc;
    }

    public void setRdPc(String rdPc){
        this.rdPc = rdPc;
    }

    @ExcelField(title = "曾用名", align = 2, sort = 220)
    public String getAliasName(){
        return aliasName;
    }

    public void setAliasName(String aliasName){
        this.aliasName = aliasName;
    }


    @ExcelField(title = "读者卡号", align = 2, sort = 230)
    public String getRdCardno(){
        return rdCardno;
    }

    public void setRdCardno(String rdCardno){
        this.rdCardno = rdCardno;
    }

    public Office getOffice(){
        return office;
    }

    public void setOffice(Office office){
        this.office = office;
    }

    public ReaderRoler getRoler(){
        return roler;
    }

    public void setRoler(ReaderRoler roler){
        this.roler = roler;
    }

    @JsonIgnore
    public List<Role> getRoleList(){
        return roleList;
    }

    public void setRoleList(List<Role> roleList){
        this.roleList = roleList;
    }

    public String getRdIccardno(){
        return rdIccardno;
    }

    public void setRdIccardno(String rdIccardno){
        this.rdIccardno = rdIccardno;
    }

    public String getRdIdkimgdata(){
        return rdIdkimgdata;
    }

    public void setRdIdkimgdata(String rdIdkimgdata){
        this.rdIdkimgdata = rdIdkimgdata;
    }
}
